﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data.Types;


namespace GirisSayfasi
{
    public partial class SinifKayit : Form
    {
        MySqlConnection baglan = Connection.baglan;
        SinifArama frmSinifArama = new SinifArama();


        public SinifKayit()
        {
            InitializeComponent();
        }

        private void SinifKayit_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtKapasite_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void txtBilgisayarliKapasite_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int len = txtSinifKodu.Text.Length;
            if (len != 5)
            {
                MessageBox.Show("Sınıf Kodu 5 Haneli Olmalıdır.");
                txtSinifKodu.Focus();
            }
            else if (txtSinifAdi.Text == "")
            {
                MessageBox.Show("Sınıf Adı Boş Bırakılamaz");
                txtSinifAdi.Focus();
            }
            else if (txtKapasite.Text == "")
            {
                MessageBox.Show("Kapasite Bölümü Boş Bırakılamaz");
                txtKapasite.Focus();
            }
            else if (txtBilgisayarliKapasite.Text == "")
            {
                MessageBox.Show("Bilgisayarlı Kapasite Bölümü Boş Bırakılamaz");
                txtBilgisayarliKapasite.Focus();
            }
            else
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from siniflistesi where SinifKodu = '" + txtSinifKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count == 0)
                {

                    MySqlCommand ekle = new MySqlCommand("insert into siniflistesi (SinifID,SinifKodu, SinifAdi,SinifNormalKapasite,SinifBilgisayarliKapasite,SinifDurumu) VALUES ('', '" + txtSinifKodu.Text + "', @txtSinifAdi,'" + txtKapasite.Text + "','" + txtBilgisayarliKapasite.Text + "','1')", baglan);
                    ekle.Parameters.AddWithValue("@txtSinifAdi", txtSinifAdi.Text);
                    if (ekle.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Sınıf Başarıyla Eklenmiştir");
                        txtSinifKodu.Clear();
                        txtBilgisayarliKapasite.Clear();
                        txtKapasite.Clear();
                        txtSinifAdi.Clear();
                        txtSinifKodu.Focus();
                        baglan.Close();
                    }
                    else
                    {
                        MessageBox.Show("Hatalı Bir İşlem Oluştu");
                        baglan.Close();
                    }
                }
                else
                {
                    MySqlCommand ekle = new MySqlCommand("update siniflistesi set SinifAdi=@txtSinifAdi, SinifNormalKapasite='" + txtKapasite.Text + "', SinifBilgisayarliKapasite='" + txtBilgisayarliKapasite.Text + "' where SinifKodu = '" + txtSinifKodu.Text + "'", baglan);
                    ekle.Parameters.AddWithValue("@txtSinifAdi", txtSinifAdi.Text);
                    if (ekle.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Sinif Bilgileri Başarıyla Güncellenmiştir");
                        txtSinifKodu.Clear();
                        txtBilgisayarliKapasite.Clear();
                        txtKapasite.Clear();
                        txtSinifAdi.Clear();
                        txtSinifKodu.Focus();
                        baglan.Close();
                    }
                    else
                    {
                        MessageBox.Show("Hatalı Bir İşlem Oluştu");
                        baglan.Close();
                    }

                }
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            frmSinifArama.ShowDialog();
        }

        private void SinifKayit_Activated(object sender, EventArgs e)
        {
            SinifArama.Sinif_Kodu = txtSinifKodu.Text;
            txtSinifKodu.Focus();
        }


        private void button4_Leave(object sender, EventArgs e)
        {
            int len = txtSinifKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from siniflistesi where SinifKodu = '" + txtSinifKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtSinifAdi.Text = oku["SinifAdi"].ToString();
                        txtKapasite.Text = oku["SinifNormalKapasite"].ToString();
                        txtBilgisayarliKapasite.Text = oku["SinifBilgisayarliKapasite"].ToString();
                    }
                }
                baglan.Close();
            }

        }

        private void txtSinifKodu_Leave(object sender, EventArgs e)
        {
            int len = txtSinifKodu.Text.Length;
            if (len == 5)
            {
                baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from siniflistesi where SinifKodu = '" + txtSinifKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count != 0)
                {
                    MySqlDataReader oku = cmd.ExecuteReader();
                    while (oku.Read())
                    {
                        txtSinifAdi.Text = oku["SinifAdi"].ToString();
                        txtKapasite.Text = oku["SinifNormalKapasite"].ToString();
                        txtBilgisayarliKapasite.Text = oku["SinifBilgisayarliKapasite"].ToString();
                    }
                }
                else
                {
                    txtBilgisayarliKapasite.Clear();
                    txtKapasite.Clear();
                    txtSinifAdi.Clear();
                }
                baglan.Close();
            }

        }

        private void SinifKayit_FormClosing(object sender, FormClosingEventArgs e)
        {
            txtSinifKodu.Clear();
            txtBilgisayarliKapasite.Clear();
            txtKapasite.Clear();
            txtSinifAdi.Clear();
            txtSinifKodu.Focus();

        }

        private void button3_Click(object sender, EventArgs e)
        {
            baglan.Open();
                MySqlCommand cmd = new MySqlCommand("select * from siniflistesi where SinifKodu = '" + txtSinifKodu.Text + "'", baglan);
                int Count = Convert.ToInt32(cmd.ExecuteScalar());
                if (Count == 0)
            {
                MessageBox.Show("Yeni Kayıt Silinemez");
            }
            baglan.Close();


        }
    }
}
